﻿using IQIGame.Onigao.Framework;

namespace IQIGame.Onigao.Logic
{
    public class BattleBaseState: FSMState<EBattleState,int>
    {
        protected BattlePlayController mPlayCtrl { get; private set; }
        public BattleBaseState(BattlePlayController playController)
        {
            this.mPlayCtrl = playController;
        }
        
        public override EBattleState stateId { get; }
        public override void OnInit()
        {
        }

        public override bool IsNextStateValid(EBattleState nextId)
        {
            return true;
        }

        public override void OnEnter(EBattleState prevStateId)
        {
        }

        public override void OnExit()
        {
        }

        public override void Dispose()
        {
        }
    }

    public class BattleBaseSkillState : FSMState<EBattleSkillState, int>
    {
        protected BattlePlayController m_PlayCtrl { get; private set; }

        public BattleBaseSkillState(BattlePlayController playController)
        {
            this.m_PlayCtrl = playController;
        }

        public override EBattleSkillState stateId { get; }

        public override void OnInit()
        {
        }

        public override bool IsNextStateValid(EBattleSkillState nextId)
        {
            return true;
        }

        public override void OnEnter(EBattleSkillState prevStateId)
        {
        }

        public override void OnExit()
        {
        }

        public override void Dispose()
        {
        }
    }
}